package org.example.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
 * @author : libo@juzishuke.com
 * @Title :
 * @Description :
 * @date : 2024/2/22 16:54
 * @since :1.0
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Documented
public @interface EnableRedisLock {

    String lockKey();

    long expireTime() default 5;

    TimeUnit timeUnit() default TimeUnit.MINUTES;

    int retryTimes() default 5;
}
